Introduction
Networking and observability in distributed systems
The growing importance of distributed tracing instrumentation.
The Problem with Existing Tracing Solutions
Communication package maintenance, inconsistencies across platforms, etc.
How OpenTracing Standardizes Distributed Tracing
Setting up an OpenTracing Software
Jaeger, Zipkin, AppDash, etc.
Overview of OpenTracing Features and Architecture
OpenTracing API: Tracer and Span
The Tracing Process
Services, packages, application-specific business logic.
Transaction destiny, reference, type, timestamps, etc.
A 'Hello World' Example
Identifying a Misbehaving System
Analyzing Tags, Spans, Scope, Threads, and Logs
Determining "how" an error occurred
Debugging a Distributed System
Filtering performance monitoring
Analyzing service dependencies
Root cause analysis
Optimizing code
Configuring Environment Variables
Adjusting frequency of events
Case Study: Ensuring Compliance in Legacy Systems
Monitoring Live Environments
Integrating OpenTracing with RPC and other frameworks
Server-side and client-side tracing
Best Practices
Troubleshooting
Summary and Conclusion |